'''
订单类：需求方，功能使用方。（即要确保系统功能增加，而使用方的逻辑不改变 | 开闭原则）
将需求变成订单，订购相关产品。
'''
from singleFactory import SimpleFactory


class Order(object):
    '''
    创建订单
    '''
    def createOrder(self, pizza=None):  # pizza：里氏替换原则 | 增加新的pizza类型，该模块的逻辑也不用变化
        if pizza is None:
            print("====>> 找不到对应的pizza类型！")
            return
        
        pizza.parpare()
        pizza.bake()
        pizza.pack()


if __name__ == "__main__":
    # 具体的订购客户操作
    pizza_type = input("请输入pizza类型：")
    order = Order()
    pizza = SimpleFactory.createPizza(pizza_type)
    order.createOrder(pizza)
